﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using PresentacionWindows.Base;
using Integra.Comun;
using Negocio.Generico;
using Negocio.View;

namespace PresentacionWindows
{
    public partial class uscUnidadRenglon : UserControlBase
    {

        #region Propiedades

        private bool bEdicion = false;
        private int? coRenglon;

        public int? CodigoRenglon
        {
            get { return coRenglon; }
            set { coRenglon = value; }
        }


        public bool BEdicion
        {
            get { return bEdicion; }
            set { bEdicion = value; }
        }


        #endregion

        #region Inicializacion, Constructor, etc
        public uscUnidadRenglon(int? CoRenglon,PersonaDTO tokenUsuario)
        {
            InitializeComponent();

            this.TokenUsuario=tokenUsuario;
            bEdicion = (CoRenglon == null)?false:true;
            CodigoRenglon = CoRenglon;
            
            DsToBinding();
        }

        #endregion


        #region Metodos privados

        /// <summary>
        /// Funcion que carga los datos dentro de la inicializacion de la pantalla 
        /// </summary>
        private void DsToBinding()
        {
            //Cargamos los combos
            ControlDatos.CargarCombo(this.cboTipoRenglon, typeof(Enumerados.TipoRenglon), TipoCargaCombo.Normal);

            if (bEdicion) 
            {
                RenglonView vista = RenglonView.GetInstance();
                RenglonDTO filtro= new RenglonDTO();
                filtro.CoRenglon = CodigoRenglon;
                DataTable dt=vista.GetViewRenglon(filtro).Table;

                if (dt.Rows.Count == 1) 
                {
                    DataRow dr = dt.Rows[0];
                    this.txtTitulo.Text = dr["NOMBRE"].ToString();
                    this.cboTipoRenglon.SelectedValue = Int32.Parse(dr["CODIGOTIPORENGLON".ToString());
                    this.dtFchCreacion.Value = Convert.ToDateTime(dr["FECHACREACION"].ToString());
                    this.dtFchRequerimiento.Value = Convert.ToDateTime(dr["FECHAREQUERIMIENTO"].ToString());
                    this.chkPublica.Checked = Convert.ToBoolean(dr["PUBLICO"].ToString());
                    this.rtcDescripcion.Text=dr["DESCRIPCION"].ToString();
                }       
            }
        }

        private void BindingToDs()
        {
            RenglonDTO obj = new RenglonDTO();
            obj.Nombre = this.txtTitulo.Text;
            obj.CoTipoRenglon = Int32.Parse(this.cboTipoRenglon.SelectedValue.ToString());
            obj.Descripcion = this.rtcDescripcion.Text;
            obj.Publico = this.chkPublica.Checked;
            obj.FchRequerimiento = (DateTime)this.dtFchRequerimiento.Value;
            obj.FchCreacion = (DateTime)this.dtFchCreacion.Value;

            GenericaView vista = GenericaView.GetInstance();
            if (vista.Inserta(obj))
            {
                MessageBox.Show("Se ha insertado de forma correcta el renglon");
            }
        }

        #endregion

        #region Eventos


        private void btnGuardar_Click(object sender, EventArgs e)
        {
            BindingToDs();
        }

        private void btnAgregar_Click(object sender, EventArgs e)
        {
            //Añadimos un documento requerido nuevo

        }

        #endregion




    }
}
